:root {
    --bg-color: #fefefe;
    --text-color: #333333;
    --side-bar-bg-color: #fafafa;
    --control-text-color: #777;
    --monospace: "Cascadia Code Light";
    --serif: "思源宋体 Heavy";
    --sans-serif: "更纱黑体 SC Light";
    --default-font: var(--sans-serif);
    --header-font: var(--serif);
    --link-color: #0078d7;
    --comment-color: #c8c8c8;
}

html,
body {
    font-family: var(--default-font);
    font-size: 16px;
    line-height: 1.5;
}

a {
    color: var(--link-color);
}

kbd {
    color: #666;
    font-family: var(--monospace);
}

code {
    color: #a11;
    padding: 0 2px;
    font-size: 0.9em;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    cursor: text;
    position: relative;
    margin-top: 1.5em;
    margin-bottom: 1em;
    line-height: 1.4;
    font-family: var(--header-font);
    font-weight: bold;

    a {
        text-decoration: none;
    }
}

h2,
h3,
h4 {
    &::before {
        font-size: 9px;
        position: absolute;
        top: -12px;
        color: white;
        padding: 0 0.25rem;
        background: var(--heading-char-color);
        border-radius: 3px;
    }
}

h1 {
    font-size: 2rem;
    margin-top: 3em;
    margin-bottom: 1.5em;
    padding-bottom: 0.3em;
    border-bottom: 1px solid #eee;
}

h2 {
    font-size: 1.5rem;
    margin-top: 2.25em;
    padding-bottom: 0.1em;
    border-bottom: 1px solid #eee;
}

h3 {
    font-size: 1.2rem;
    border-bottom: 1px solid #f8f8f8;
}

h4 {
    font-size: 1.05rem;
    counter-increment: h4 1;
}

h5 {
    font-size: 1rem;
}

h6 {
    font-size: 1rem;
    color: #777;

    &::before {
        content: "📑";
        margin-right: 0.25em;
        font-weight: normal;
    }
}

p,
blockquote,
ul,
ol,
dl,
table {
    margin: 1em 0;
}

li>ol,
li>ul {
    margin: 0 0;
}

hr {
    height: 1px;
    padding: 0;
    margin: 2rem 31%;
    background: linear-gradient(240deg, #00000000 0%, #03a9f444 36%, #03a9f444 64%, #00000000 100%);
    border: 0 none;
    overflow: hidden;
    box-sizing: content-box;
}

li p.first {
    display: inline-block;
}

ul,
ol {
    padding-left: 30px;
}

li {
    ol {
        li {
            list-style: lower-roman;
        }
    }
}

ul:first-child,
ol:first-child {
    margin-top: 0;
}

ul:last-child,
ol:last-child {
    margin-bottom: 0;
}

dl {
    dt {
        border-top: 1px solid #f8f8f8;
        border-left: 3px solid #e8e8e8;
        padding: 0 0.5em;
        border-radius: 3px;
        margin-top: 1em;
        margin-bottom: 0.5em;
        font-family: var(--serif);
    }
}

blockquote {
    margin-left: 0.1rem;
    border-left: 0.25rem solid #e6e6e6;
    padding: 0.5rem 1.2rem;
    color: #888888;

    code {
        color: #03a9f4;
    }

    a {
        color: #03a9f4;
    }

    blockquote {
        padding-right: 0;
    }

    .md-fences {
        background-color: white;
    }

    &>h6 {
        &:first-child {
            margin-top: 0.5em;
        }
    }
}

table {
    padding: 0;
    word-break: initial;
}

table tr {
    border-top: 1px solid #dfe2e5;
    margin: 0;
    padding: 0;
}

table tr:nth-child(2n),
thead {
    background-color: #f8f8f8;
}

table tr th {
    font-weight: bold;
    border: 1px solid #dfe2e5;
    border-bottom: 0;
    margin: 0;
    padding: 6px 13px;
}

table tr td {
    border: 1px solid #dfe2e5;
    margin: 0;
    padding: 6px 13px;
}

table tr th:first-child,
table tr td:first-child {
    margin-top: 0;
}

table tr th:last-child,
table tr td:last-child {
    margin-bottom: 0;
}

.CodeMirror-lines {
    padding-left: 4px;
}

.code-tooltip {
    box-shadow: 0 1px 1px 0 rgba(0, 28, 36, .3);
    border-top: 1px solid #eef2f2;
}

tt,
.md-fences {
    border: 1px solid #e7eaed;
    background-color: #f8f8f8;
    border-radius: 3px;
    padding: 0;
    padding: 2px 4px 0px 4px;
    font-size: 0.9em;
}

.md-fences {
    padding-top: 0.5rem;
    padding-bottom: 0.4rem;
}

.md-task-list-item>input {
    margin-left: -1.3em;
}

@media print {
    html {
        font-size: 13px;
    }

    table,
    pre {
        page-break-inside: avoid;
    }

    pre {
        word-wrap: break-word;
    }
}

.md-fences {
    background-color: #f8f8f8;
}

.mathjax-block>.code-tooltip {
    bottom: .375rem;
}

.md-mathjax-midline {
    background: #fafafa;
}

.md-image>.md-meta {
    /*border: 1px solid #ddd;*/
    border-radius: 3px;
    padding: 2px 0px 0px 4px;
    font-size: 0.9em;
    color: inherit;
}

.md-tag {
    color: #a7a7a7;
    opacity: 1;
}

.md-toc {
    margin-top: 20px;
    padding-bottom: 20px;
}

.sidebar-tabs {
    border-bottom: none;
}

#typora-quick-open {
    border: 1px solid #ddd;
    background-color: #f8f8f8;
}

#typora-quick-open-item {
    background-color: #FAFAFA;
    border-color: #FEFEFE #e5e5e5 #e5e5e5 #eee;
    border-style: solid;
    border-width: 1px;
}

/** focus mode */
.on-focus-mode blockquote {
    border-left-color: rgba(85, 85, 85, 0.12);
}

header,
.context-menu,
.megamenu-content,
footer {
    font-family: var(--default-font);
}

.file-node-content:hover .file-node-icon,
.file-node-content:hover .file-node-open-state {
    visibility: visible;
}

.mac-seamless-mode #typora-sidebar {
    background-color: #fafafa;
    background-color: var(--side-bar-bg-color);
}

.md-lang {
    color: #b4654d;
}

.html-for-mac .context-menu {
    --item-hover-bg-color: #E6F0FE;
}

#md-notification .btn {
    border: 0;
}

.dropdown-menu .divider {
    border-color: #e5e5e5;
}

.ty-preferences .window-content {
    background-color: #fafafa;
}

.ty-preferences .nav-group-item.active {
    color: white;
    background: #999;
}

#write {
    max-width: 860px;
    margin: 0 auto;
    padding: 30px;
    padding-bottom: 100px;

    p {
        text-align: justify;
    }

    h2,
    h3,
    h4,
    h5 {
        &.md-focus::before {
            background: white;
            left: -1.5625rem;
        }
    }

    h2 {
        counter-reset: h3 0 h4 0;
        counter-increment: h2 1;

        &::before {
            content: counter(h2);

        }

        &.md-focus::before {
            content: "h2";
            color: var(--heading-char-color);
            border: 1px solid;
            border-radius: 3px;
            position: absolute;
            font-size: 9px;
            padding: 0 2px;
            top: calc(1.5rem - 10px);
        }
    }

    h3 {
        counter-reset: h4 0;
        counter-increment: h3 1;

        &::before {
            content: counter(h2) "."counter(h3);
        }

        &.md-focus::before {
            top: calc(1.2rem - 11px);
        }
    }

    h4 {
        &::before {
            content: counter(h2) "."counter(h3) "."counter(h4);
        }
    }

    h6 {
        &.md-focus::before {
            content: "📑";
            margin-right: 0.25em;
            font-size: inherit;
            float: inherit;
            left: inherit;
            top: inherit;
            padding: inherit;
            font-weight: normal;
            position: inherit;
            border: inherit;
            border-radius: inherit;
            line-height: inherit;
        }
    }

    >ul:first-child,
    >ol:first-child {
        margin-top: 30px;
    }

    pre.md-meta-block {
        padding: 1rem;
        font-size: 85%;
        line-height: 1.45;
        background-color: #f7f7f7;
        border: 0;
        border-radius: 3px;
        color: #777777;
        margin-top: 0 !important;
    }
}

.md-comment {
    color: var(--comment-color);
    font-family: var(--serif);
    font-weight: 200;
    font-size: 0.8em;
}

@media only screen and (min-width: 1400px) {
    #write {
        max-width: 1024px;
    }
}

@media only screen and (min-width: 1800px) {
    #write {
        max-width: 1200px;
    }
}
